package com.smartleanx.module.hrm.dal.dataobject.esign;

import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * <p>
 *
 * </p>
 *
 * @author mybatis-plus
 * @since 2025-07-14
 */
@Getter
@Setter
@ToString
public class ContractOrder extends Model<ContractOrder> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;


    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号", order = 1)
    private String orderSn;

    /**
     * 签署用量（份）
     */
    @ExcelProperty(value = "签署用量（份）", order = 2)
    private Integer contractNum;

    /**
     * 已使用签署数量（份）
     */
//    @ExcelProperty(value = "已使用签署数量（份）")
    private Integer usedContractNum;

    /**
     * 订单有效期始
     */
//    @ExcelProperty(value = "订单有效期始")
    private String startTime;

    /**
     * 订单有效期止
     */
//    @ExcelProperty(value = "订单有效期止")
    private String endTime;

    /**
     * 订单金额
     */
    @ExcelProperty(value = "费用（元）", order = 3)
    private BigDecimal orderAmount;

    /**
     * 1微信2支付宝
     */
    private Integer payType;

    @ExcelProperty(value = "支付方式", order = 4)
    @TableField(exist = false)
    private String payTypeStr;

    /**
     * 1、待支付 2支付成功3、支付失败4、超时未支付
     */
    private Integer orderStatus;
    @ExcelProperty(value = "订单状态", order = 6)
    @TableField(exist = false)
    private String orderStatusStr;

    /**
     * 创建人员工id
     */
    private Integer createBy;

    /**
     * 权限的员工id
     */
    private Integer userId;

    /**
     * 权限的部门id
     */
    private Integer deptId;

    /**
     * 租户id
     */
    private String tenantId;

    /**
     * 商户平台id
     */
    private String paymentSn;

    @ExcelProperty(value = "创建时间", order = 8)
    private String createTime;

    @ExcelProperty(value = "支付时间", order = 5)
    private String payTime;


    private String buyerOpenId;

    private String tradeNo;

    private Integer packageId;

    private String timeExpire;
    @ExcelProperty(value = "创建人", order = 7)
    private String createByName;

}
